The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Digital Content Distribution Systems
Digital content distribution systems often include a content server, an application, a content player, and a communications network connecting the content server to the content player. The content server is configured to store digital content items corresponding to different content titles that can be downloaded from the content server to the content player. The application allows a user of the content player to browse through available digital content, manage account information, rate digital content items, etc.
Digital content distribution systems offer a large variety of digital media to the user for viewing. To enhance the user experience, content distribution systems may provide personal digital media recommendations to the individual user. One approach to recommending digital media involves determining digital media of interest to the individual user based on the preferences of similar users using collaborative filtering or related techniques. One drawback of this approach however, is that a large amount of data needs to be stored and managed in order to determine similar users, making such an approach inappropriate in some situations.
Another approach is to identify digital media that is similar to digital media previously viewed by the user. One implementation of such a recommendation system may involve attaching metadata tags to digital media, such that digital media having the same metadata tags are deemed to be similar. However, given the large variety of digital media available, thousands of metadata tags are needed to accurately describe the contents of digital media.
Managing the metadata tags and performing similarity computations based on the multitude of tags usually needs large amounts of processing power and storage space. In addition, because metadata tags are often attached to digital media based on the perceptions of an individual, the tags may not accurately describe the contents of the digital media, and, therefore, any similarity computation performed based on the tags may not be accurate. Further, the set of metadata tags that optimally determine similarity of digital media and/or the extent to which each tag should contribute to this similarity typically varies depending on the actual content being evaluated, making global scoring functions based on metadata tags sub-optimal, and content specific ones difficult to estimate.
Markov Chains
A Markov chain is a mathematical system that undergoes state transitions. In many cases, a Markov chain represents a discrete-time process involving a system which is in a certain state at each step, with the state changing randomly between the steps. The steps may represent moments in time, but can refer also to physical distance, number of iterations, or any other discrete measurement. The Markov property states that the conditional probability distribution for the system at the next step (and all future steps) depends only on the current state of the system, and not additionally on the state of the system at previous steps.
Often Markov chains are described by Markov matrices, in which each entry specifies the probability of transitioning from one state to another state during the next step. The example Markov matrix below describes a Markov chain with three states (1, 2, 3) where the probability pi,j of transitioning from state i to state j during the next step is given by the corresponding entry in the matrix:
p1,1p1,2p1,3p2,1p2,2p2,3p3,1p3,2p3,3Since the system will always transition from state i to at least some state j during each time step, the sum of the probabilities in each row of a Markov matrix is always equal to 1 (100% probability). For convenience, the techniques described herein will assume that Markov chains are represented by Markov matrices. However, the exact structure used to represent Markov chains is not critical to the techniques described herein.